1. Field of the Invention
This invention relates to intelligent communications networks, commonly called intelligent networks (INs), and particularly, but not exclusively, to service control points for use in INs.
2. Description of the Related Art
IN techniques have been understood for sometime to offer a flexible and possibly more cost effective route to the development and deployment of advanced telecommunications call handling services than traditional methods. Essentially, IN techniques effectively consist of the separation of call processing functions within a telephone exchange, or equivalent entity, from the service logic which provides the actual telecommunications servicexe2x80x94such as xe2x80x9cFreefonexe2x80x9d type services typified by the 0800 numbering range in the United Kingdom.
Standards have been developed by a number of organisations which embody the concepts of IN techniques and identify a number of key functional components. Many of these components are identified in FIG. 1 of the drawings which is a schematic diagram of the structure of a known IN. In this structure, the service logic for the IN is embodied in computer programs executing on either a service control point (SCP), or an adjunct processor (not shown).
The present invention is concerned with the design and organisation of the computing resources realising the SCP or adjunct processor elements of an IN. With early implementations of IN systems, the computing resources realising the structure, i.e. the platform, of the SCP or adjunct processor elements of INs were provided by largely proprietary computing platformsxe2x80x94many of which were little more than subsections of the control processor from an existing telephone exchange design. These early implementations were complemented by second generation platforms which used commercially available computer systems (also referred to as data processors)xe2x80x94thereby reducing the cost of the platform. However the stringent requirements placed on these systems for continuous service availability and reliability to match those expected of a modern communications network tended to result in the use of fault tolerant, all be it commercial, computer systems.
In either case, the practice has been to deploy systems as mated pairs to minimise the risk of total service outage. This has led to the identification of an inherent weakness in these platforms since there is the need to maintain service data in synchronisation across all deployed computer systems. Whilst this is not a problem that is unique to the telecommunications industry, what makes the problem more complex is the requirement to achieve synchronisation within short timescales so as to minimise the effects of data synchronisation on service operation.
The above developments and requirements have logically led to the investigation of distributed processing techniques for solutions to the problems of scaling, application and data reuse and also platform reliability and integrity. Initiatives such as the Telecommunications Information Networking Architecture Consortium (TINA-C) dealing with distributed processing environment have striven to bring many of these issues to a conclusion over recent years.
The concept behind using distributed processing techniques in the realisation of IN service control points is the aim of achieving the desired availability, reliability and reuse through the software based redundancy afforded by distributed systems. This allows components of an application to be broken into self contained entities (e.g. clients or requesters of a function and servers or implementations of a function) which can realise applications which are highly resilient to failure due to the ability of a failed component to be dynamically replaced at run-time by simply selecting an alternative xe2x80x9cserverxe2x80x9d element. An example architecture of this is shown in FIG. 2 of the drawings which is a schematic diagram of the structure or architecture of a service control point of the network of FIG. 1.
FIGS. 1 and 2 are described in detail later, but a sufficient understanding of the background of the present invention can be had with reference to only certain components of the intelligent network as follows.
An operations and support systems (OSS) domain which realises external operations and support systems, including customer handling etc.
A transport network domain which realises the telecommunications networks controlled from the platform.
A distributed service control point platform which realises the functionality delivering advanced telecommunications call handling services, such as xe2x80x9cFreefonexe2x80x9d, cashless services (Calling Card etc.).
The SCP connects to the controlled telecommunications networks via an appropriate signalling means. For the public switched telecommunications network (PSTN), this is currently via a modification of ITU-T (formerly known as CCITT) No.7 signalling system (referred to as SS7) using the Intelligent Network Application Protocol. SS7 is a general purpose protocol and may be replaced by a special purpose protocol in the future, but this is not a significant matter for the purposes of the present invention.
SS7 signalling messages flow from a controlled switch of the PSTN, referred to as a service switching point (SSP), to a signalling termination which forms part of the SCP. In practice, the signalling between an individual SSP and the SCP passes via one or more intermediate signalling transfer points (STPs), also known as signalling point relays which enable the messages to be rerouted in the event of a failure in the signalling networkxe2x80x94either within the transmission circuits used or the terminating equipment.
The SCP comprises a number of physical and logical functions required to deliver, manage and enable services to be realised. These functions include:
applications servers which provide the physical and logical functions realising the service logic;
a network control signalling interface server, for example a SS7 server, which translates network signalling protocols into an application orientated protocol for use within the rest of the platform;
an intelligent peripheral (IP) capability to provide the various special functions required within services, such as voice announcements, voice messaging and other such special resources;
a data server capability to provide a managed data repository for all customer, service and management data associated with the platform;
an OSS server to manipulate management data originating on the platform into a form suitable for the external OSS systems and vice-versa, thereby hiding the inherently distributed nature of the platform and simplifying external OSS;
management systems for providing internal management of the platform;
other servers, as may be required, to provide new functions, interwork with other telecommunications service providers etc;
a collection of various physical computer systems interconnected via appropriate datacommunications services (e.g. a transmission control protocol/Internet protocol (TCP/IP) data communications network, for example, a local area network and/or wide area network); and
a set of software mechanisms realising a distributed processing environment which enable executing computer programs to interact via the datacommunications services in a manner which is largely hidden from the application programmer, such as products conforming to the documentation produced by the Object Management Group (OMG) such as the Common Object Request Broker Architecture (CORBA).
Whilst the aims of adopting a distributed processing based solution are noble in themselves there are a large number of difficulties and implications in working out real solutions in practice. One of these issues relates to the implementation of the network control signalling interface server and how this connects to the controlled transport networks. This is driven by three main design issues:
the need for multiple signalling channels to achieve the concurrency desired (number of simultaneous call in progress);
the need for sufficient bandwidth in the signalling channels to achieve the desired signalling message latency (which relates to the post dialling delay perceived by users); and
the need for multiple signalling link server systems to achieve resilience to failure.
These factors in turn determine the number of physical signalling channels required and hence signalling circuit interfaces, which in turn is related to the number of separate physical computers required since a given computer is limited in the number of peripherals that it can support.
For an SCP platform of the dimensions required to deliver mass market services on the PSTN, the number of physical computer systems required can exceed 300 physical machines. As these machines need to interact with a set of application processors there is, therefore, the need to provide some form of data communications network (generally a TCP/IP network) to interconnect these computer systems to enable access to the common application processors and other resources.
The data communications network can be realised as an extended LAN, i.e. one which uses WAN elements to connect individual LANs, or by using a single LAN architecture depending on the number of computer systems required and the technology choice for the data network. In either case, any failure in part of the network (LAN and/or WAN) can result in a computer or group of computers becoming isolated from the rest of the computers in the systemxe2x80x94this is referred to as network partitioning.
The article xe2x80x9cDistributed Control Node Architecture in the Advanced Intelligent Networkxe2x80x9d by Masanori Hirano, Yasuo Kinouchi and Takashi Suzuki, 15th International Switching Symposium, 1995, discusses design issues of an IN service control function having a distributed configuration, and distributed databases from the viewpoint of cost to performance ratio, and reliability with regard to user data integrity. A service control point is described having a number of interconnected functions, where the functions are implemented by pluralities of respective modules, e.g. service control modules and service data modules.
The article xe2x80x9cIntelligent Network System Architecturexe2x80x9d by Samuel M. Feldman, Annual Review of Communications, 1996, discloses the use of active redundancy and cluster computer systems in the design of intelligent network elements for ensuring dependable service. A high-capacity cluster-based service control point is described having multiple front-end processors optimised for message transport and routing, and multiple back-end processors optimised for running applications.
According to a first aspect of the present invention there is provided an intelligent communications network having a service switching function (SSF) comprising a plurality of service switching points (SSPs), a service control function (SCF) comprising a plurality of service control points (SCPs), and a signalling transfer function (STF) comprising at least one signalling transfer point (STP) and respective signalling links, in which network:
each SCP comprises,
signalling receiving means,
a distributed processing architecture comprising a plurality of data processors each connected to a data communications network arranged such that each data processor can communicate with each other processor, and
a network state detector means arranged to detect that the data communications network is in a partitioned state and thus unable to provide communication from each data processor to each other data processor, and in response to output a predetermined command;
each SSP
(a) has a stored list of services which require the use of the SCF, each service being associated with a respective preassigned service type, this being either a first service type indicative of services that may be processed by a partitioned SCP or a second service type indicative of services that must not be processed by a partitioned SCP, and
(b) is arranged to respond to each call which relates to a service requiring the use of the SCF, by obtaining from the stored list its associated preassigned service type, and by sending to the SCF via the STF a message signal having a service type field into which the SSP has written the obtained service type; and
there is provided message signal control means disposed between the signalling receiving means of the SCPs and the SSF and arranged to respond to receipt of said predetermined command from the network state detector means by changing from a first state, in which it permits transmission of all message signals, to a second state, in which it blocks transmission of all message signals whose service type field contains said second service type.
With an intelligent network of the present invention, messages from the transport network requesting services which require a common view of some service data (e.g. call queuing) can be rejected so as to avoid such a service either failing or functioning erroneously.
In INs wherein said signalling receiving means of each SCP comprises a respective plurality of signalling servers, preferably said message signal control means comprises a respective transmission controller for each signalling server.
In INs wherein said signalling receiving means of each SCP comprises a respective plurality of signalling servers and at least one signalling server is connected to a plurality of STPs, preferably said message signal control means comprises a respective transmission controller for each of said plurality of STPs.
Preferably, each transmission controller is disposed at the junction of the SCF and the STF.
Alternatively to said transmission controller being associated with the SCF, said message signal control means may comprise a respective transmission controller disposed integrally with the or each STP.
As the SCP does not switch isolated segments of the platform off, but merely controls the message signal control means, this avoids calls, which are not dependent upon a global view of service data within the service platform and could otherwise have been processed effectively, from being rejected due to unavailability of resources, and reduces the likelihood of further failures resulting from a rippling of processing load around the remaining functional elements of the IN.
According to a second aspect of the present invention there is provided a service control point (SCP) for use in an intelligent communications network, the SCP comprising
a distributed processing architecture comprising a plurality of data processors each connected to a data communications network arranged such that each data processor can communicate with each other processor, and
a network state detector means arranged to detect that the data communications network is in a partitioned state and thus unable to provide communication from each data processor to each other data processor, and in response to output a predetermined command.
Preferably, the network state detector means is distributed and comprises respective first detector means in each data processor, each respective first detector means being arranged in accordance with a first predetermined algorithm to detect that the data communications network has become partitioned by analysis of interprocessor messages received by its associated data processor.
Alternatively, the data communications network comprises a plurality of interconnected nodes, each node being connected to a respective plurality of the data processors, and the network state detector means is constituted by a respective one of the data processors at each of the nodes, said respective data processor being arranged to monitor interprocessor messages handled by its associated node and to detect, in accordance with a first predetermined algorithm, that the data communications network has become partitioned by analysis of said monitored interprocessor messages.
In a further alternative, the network state detector means is constituted by one of the data processors arranged to monitor interprocessor messages handled by the data communications network and to detect, in accordance with a first predetermined algorithm, that the data communications network has become partitioned by analysis of said monitored interprocessor messages.
Preferably, each data processor is arranged to transmit on the data communications network a respective predetermined message at predetermined times in accordance with a second predetermined algorithm, and the network state detector means is arranged to receive said predetermined messages transmitted on the data communications network and in accordance with said second predetermined algorithm to send said predetermined command upon detection of a lack of reception of a said predetermined message.
More preferably, the network state detector means is arranged in accordance with said second predetermined algorithm to treat the transmission of an interprocessor message by a said data processor as equivalent to the transmission of a said predetermined message by the said data processor, and to transmit a said predetermined message in the event that a predetermined length of time has elapsed since the said data processor has transmitted a message of any type.
Alternatively, each data processor is arranged, in the event that it transmits an interprocessor message at substantially the same time as the due time for transmission of a said predetermined message, to delay transmission of said predetermined message until after the end of said interprocessor message.
When the network state detector means is distributed and comprises respective first detector means in each data processor, as mentioned above, the network state detector means may further comprise, associated with each data processor, a respective second detector means for detecting a said lack of reception of a said predetermined message.
When the data communications network comprises a plurality of interconnected nodes, each node being connected to a respective plurality of the data processors, and the network state detector means is constituted by a respective one of the data processors at each of the nodes, as mentioned above, preferably each said respective one of the data processors at each of the nodes constitutes a manager for the data processors associated with its respective node and comprises a respective second detector means for detecting a said lack of reception of a said predetermined message.
According to a third aspect of the present invention there is provided a service switching point (SSP) for use in an intelligent communications network comprising a service control function (SCF) comprising a plurality of service control points (SCPs), the SSP
comprising a stored list of services which require the use of the SCF, each service being associated with a respective preassigned service type, this being either a first service type indicative of services that may be processed by a partitioned SCP or a second service type indicative of services that must not be processed by a partitioned SCP, and
being arranged to respond to each call which relates to a service requiring the use of the SCF, by obtaining from the stored list its associated preassigned service type, and by outputting a message having a service type field into which the SSP has written the obtained service type.
According to a fourth aspect of the present invention there is provided a signalling transfer point (STP) for use in an intelligent communications network comprising a plurality of service switching points (SSPs), and a service control function (SCF); the STP being integral with message signal control means arranged to respond to receipt of a predetermined command from the SCF by changing from a first state, in which transmission of all message signals is permitted, to a second state, in which transmission of message signals whose service type field contains said second service type is not permitted.
According to a fifth aspect of the present invention there is provided a method of operating an intelligent communications network which comprises a plurality of service switching points (SSPs), a service control function (SCF) comprising a plurality of service control points (SCPs), and a signalling transfer function (STF) comprising at least one signalling transfer point (STP), in which network each SCP comprises a distributed processing architecture comprising a plurality of data processors each connected to a data communications network arranged such that each data processor can communicate with each other processor, the method comprising the steps of:
(a) storing in each SSP a list of services which require the use of the SCF, each service being stored in association with a respective preassigned service type, this being either a first service type indicative of services that may be processed by a partitioned SCP or a second service type indicative of services that must not be processed by a partitioned SCP;
(b) detecting that the data communications network is in a partitioned state and thus unable to provide communication from each data processor to each other data processor, and in response outputting a predetermined command;
(c) receiving said predetermined command at message signal control means and in response changing from a first state, in which it permits transmission of all message signals, to a second state, in which it blocks transmission of all message signals whose service type field contains said second service type; and
responding at the SSPs to each call which relates to a service requiring the use of the SCF, by obtaining from the stored list its associated preassigned service type, and by sending to the SCF via the STF a message having a service type field into which the SSP has written the obtained service type.